home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / usr / include / linux / videotext.h < prev    next >
C/C++ Source or Header  |  2009-10-16  |  4KB  |  126 lines

  1. #ifndef _VTX_H
  2. #define _VTX_H
  3.  
  4. /*
  5.  * Teletext (=Videotext) hardware decoders using interface /dev/vtx
  6.  * Do not confuse with drivers using /dev/vbi which decode videotext by software
  7.  *
  8.  * Videotext IOCTLs changed in order to use _IO() macros defined in <linux/ioctl.h>,
  9.  * unused tuner IOCTLs cleaned up by
  10.  * Michael Geng <linux@MichaelGeng.de>
  11.  *
  12.  * Copyright (c) 1994-97 Martin Buck  <martin-2.buck@student.uni-ulm.de>
  13.  * Read COPYING for more information
  14.  *
  15.  */
  16.  
  17.  
  18. /*
  19.  *    Videotext ioctls
  20.  */
  21. #define VTXIOCGETINFO    _IOR  (0x81,  1, vtx_info_t)
  22. #define VTXIOCCLRPAGE    _IOW  (0x81,  2, vtx_pagereq_t)
  23. #define VTXIOCCLRFOUND    _IOW  (0x81,  3, vtx_pagereq_t)
  24. #define VTXIOCPAGEREQ    _IOW  (0x81,  4, vtx_pagereq_t)
  25. #define VTXIOCGETSTAT    _IOW  (0x81,  5, vtx_pagereq_t)
  26. #define VTXIOCGETPAGE    _IOW  (0x81,  6, vtx_pagereq_t)
  27. #define VTXIOCSTOPDAU    _IOW  (0x81,  7, vtx_pagereq_t)
  28. #define VTXIOCPUTPAGE    _IO   (0x81,  8)
  29. #define VTXIOCSETDISP    _IO   (0x81,  9)
  30. #define VTXIOCPUTSTAT    _IO   (0x81, 10)
  31. #define VTXIOCCLRCACHE    _IO   (0x81, 11)
  32. #define VTXIOCSETVIRT    _IOW  (0x81, 12, long)
  33.  
  34. /* for compatibility, will go away some day */
  35. #define VTXIOCGETINFO_OLD  0x7101  /* get version of driver & capabilities of vtx-chipset */
  36. #define VTXIOCCLRPAGE_OLD  0x7102  /* clear page-buffer */
  37. #define VTXIOCCLRFOUND_OLD 0x7103  /* clear bits indicating that page was found */
  38. #define VTXIOCPAGEREQ_OLD  0x7104  /* search for page */
  39. #define VTXIOCGETSTAT_OLD  0x7105  /* get status of page-buffer */
  40. #define VTXIOCGETPAGE_OLD  0x7106  /* get contents of page-buffer */
  41. #define VTXIOCSTOPDAU_OLD  0x7107  /* stop data acquisition unit */
  42. #define VTXIOCPUTPAGE_OLD  0x7108  /* display page on TV-screen */
  43. #define VTXIOCSETDISP_OLD  0x7109  /* set TV-mode */
  44. #define VTXIOCPUTSTAT_OLD  0x710a  /* set status of TV-output-buffer */
  45. #define VTXIOCCLRCACHE_OLD 0x710b  /* clear cache on VTX-interface (if avail.) */
  46. #define VTXIOCSETVIRT_OLD  0x710c  /* turn on virtual mode (this disables TV-display) */
  47.  
  48. /*
  49.  *    Definitions for VTXIOCGETINFO
  50.  */
  51.  
  52. #define SAA5243 0
  53. #define SAA5246 1
  54. #define SAA5249 2
  55. #define SAA5248 3
  56. #define XSTV5346 4
  57.  
  58. typedef struct {
  59.     int version_major, version_minor;    /* version of driver; if version_major changes, driver */
  60.                         /* is not backward compatible!!! CHECK THIS!!! */
  61.     int numpages;                /* number of page-buffers of vtx-chipset */
  62.     int cct_type;                /* type of vtx-chipset (SAA5243, SAA5246, SAA5248 or
  63.                          * SAA5249) */
  64. }
  65. vtx_info_t;
  66.  
  67.  
  68. /*
  69.  *    Definitions for VTXIOC{CLRPAGE,CLRFOUND,PAGEREQ,GETSTAT,GETPAGE,STOPDAU,PUTPAGE,SETDISP}
  70.  */
  71.  
  72. #define MIN_UNIT   (1<<0)
  73. #define MIN_TEN    (1<<1)
  74. #define HR_UNIT    (1<<2)
  75. #define HR_TEN     (1<<3)
  76. #define PG_UNIT    (1<<4)
  77. #define PG_TEN     (1<<5)
  78. #define PG_HUND    (1<<6)
  79. #define PGMASK_MAX (1<<7)
  80. #define PGMASK_PAGE (PG_HUND | PG_TEN | PG_UNIT)
  81. #define PGMASK_HOUR (HR_TEN | HR_UNIT)
  82. #define PGMASK_MINUTE (MIN_TEN | MIN_UNIT)
  83.  
  84. typedef struct
  85. {
  86.     int page;    /* number of requested page (hexadecimal) */
  87.     int hour;    /* requested hour (hexadecimal) */
  88.     int minute;    /* requested minute (hexadecimal) */
  89.     int pagemask;    /* mask defining which values of the above are set */
  90.     int pgbuf;    /* buffer where page will be stored */
  91.     int start;    /* start of requested part of page */
  92.     int end;    /* end of requested part of page */
  93.     void *buffer;    /* pointer to beginning of destination buffer */
  94. }
  95. vtx_pagereq_t;
  96.  
  97.  
  98. /*
  99.  *    Definitions for VTXIOC{GETSTAT,PUTSTAT}
  100.  */
  101.  
  102. #define VTX_PAGESIZE (40 * 24)
  103. #define VTX_VIRTUALSIZE (40 * 49)
  104.  
  105. typedef struct
  106. {
  107.     int pagenum;            /* number of page (hexadecimal) */
  108.     int hour;            /* hour (hexadecimal) */
  109.     int minute;            /* minute (hexadecimal) */
  110.     int charset;            /* national charset */
  111.     unsigned delete : 1;        /* delete page (C4) */
  112.     unsigned headline : 1;        /* insert headline (C5) */
  113.     unsigned subtitle : 1;        /* insert subtitle (C6) */
  114.     unsigned supp_header : 1;    /* suppress header (C7) */
  115.     unsigned update : 1;        /* update page (C8) */
  116.     unsigned inter_seq : 1;        /* interrupted sequence (C9) */
  117.     unsigned dis_disp : 1;        /* disable/suppress display (C10) */
  118.     unsigned serial : 1;        /* serial mode (C11) */
  119.     unsigned notfound : 1;        /* /FOUND */
  120.     unsigned pblf : 1;        /* PBLF */
  121.     unsigned hamming : 1;        /* hamming-error occurred */
  122. }
  123. vtx_pageinfo_t;
  124.  
  125. #endif /* _VTX_H */
  126.